package com.hjq.entity.vo;

import com.hjq.entity.dto.ChapterNodeDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class CourseDetailVO {
    /**
     * 主键ID
     */
    private Long id;

    /**
     * 课程名称
     */
    private String courseName;

    /**
     * 课程简介
     */
    private String description;

    /**
     * 课程图片路径
     */
    private String coverImage;

    /**
     * 课程专题ID(关联topic表)
     */
    private Long topicId;
    /**
     * 观看人数
     */
    private Integer viewCount;

    /**
     * 课程总章节数
     */
    private Integer chapterCount;

    /**
     * 评价星级(1-5分)
     */
    private Byte starRating;


    /**
     * 课程金额
     */
    private BigDecimal price;

    /**
     * 课程类型，0表示录播，1表示直播
     */
    private String courseType;

    /**
     * 是否免费(0-否 1-是)
     */
    private Byte isFree;

    /**
     * 是否折扣(0-否 1-是)
     */
    private Byte isDiscount;

    /**
     * 是否精选
     */
    private Byte isRecommend;

    /**
     * 折扣价
     */
    private BigDecimal discountPrice;

    /**
     * 难度级别(简单，一般，困难)
     */
    private String courseLevelLabel;

    /**
     * 总时长(分钟)
     */
    private Integer totalDuration;

    /**
     * 启用状态(0-禁用 1-正常)
     */
    private Byte status;

    /**
     * 创建时间
     */
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    private LocalDateTime updatedAt;

    /**
     * 章节列表
     */
    private List<ChapterNodeDTO> chapterList;
}
